<!doctype html>
<html>
	<head>
		<title>Dragover repeating</title>
		<style type="text/css">
div:first-child {
	height: 100px;
	width: 100px;
	background: orange;
	display: inline-block;
}
div:first-child + div {
	height: 100px;
	width: 100px;
	background: blue;
	display: inline-block;
}
		</style>
		<script type="text/javascript">
window.onload = function () {
	var numsecs = 5, maxpolltime = 0.550, minpolltime = 0.150;
	var blue = document.getElementsByTagName('div')[1], p = document.getElementsByTagName('p')[0];
	var numfired = 0, readytocount = false;
	document.getElementsByTagName('div')[0].ondragstart = function (e) {
		e.dataTransfer.effectAllowed = 'all';
		e.dataTransfer.setData('text','dummy text');
	};
	blue.ondrop = function (e) {
		e.preventDefault();
	};
	blue.ondragover = function (e) {
		e.preventDefault();
		if( readytocount ) { numfired++; }
	};
	blue.ondragenter = function (e) {
		e.preventDefault();
		p.innerHTML = 'Keep the mouse perfectly still...';
		//give the tester a second to get ready
		setTimeout(function () {
			readytocount = true;
			numfired = 0;
			p.innerHTML = 'Keep the mouse perfectly still for '+numsecs+' seconds';
			var countsecs = numsecs;
			var intr = setInterval(function () {
				countsecs--;
				if( countsecs ) {
					p.innerHTML = 'Keep the mouse perfectly still for '+countsecs+' seconds';
				} else {
					clearInterval(intr);
					var passed = numfired >= Math.floor( numsecs / maxpolltime ) && numfired <= Math.floor( numsecs / minpolltime );
					document.getElementsByTagName('p')[0].innerHTML = ( passed ? 'PASS' : 'FAIL' ) +
					  '<br><br>(Fired ' + numfired + ' times in ' + numsecs + ' seconds, must be between ' +
					  Math.floor( numsecs / maxpolltime ) + ' and ' + Math.floor( numsecs / minpolltime ) + ')<br>You can release the drag now';
				}
			},1000);
		},1000);
	};
};
		</script>
	</head>
	<body>

		<div draggable="true"></div>
		<div></div>
		<p>Drag the orange square over the blue square, then keep the mouse perfectly still until the result appears.</p>
		<noscript><p>Enable JavaScript and reload</p></noscript>

	</body>
</html>